* bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 24 Apr 2011 05:30:24 +0000 (22:30 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 24 Apr 2011 05:30:24 +0000 (22:30 -0700)
src/ChangeLog
src/bytecode.c

index 893bfa621dcf4d612cf8a43a533247ab0f959d95..6923ef9bea863ccde7a5925a3d13f221161a01b8 100644 (file)
@@ -1,3 +1,7 @@
+2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
+
 2011-04-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        Make the Lisp reader and string-to-float more consistent.
index 581e16678a6cd57326ec061cfebc99093c2c2da3..3bbd88316336083826274eb10638c323c7aeb488 100644 (file)
@@ -444,7 +444,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
   /* Lisp_Object v1, v2; */
   Lisp_Object *vectorp;
 #ifdef BYTE_CODE_SAFE
-  int const_length = XVECTOR (vector)->size;
+  int const_length;
   Lisp_Object *stacke;
   int bytestr_length;
 #endif
@@ -466,6 +466,10 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
   CHECK_VECTOR (vector);
   CHECK_NUMBER (maxdepth);
 
+#ifdef BYTE_CODE_SAFE
+  const_length = XVECTOR (vector)->size;
+#endif
+
   if (STRING_MULTIBYTE (bytestr))
     /* BYTESTR must have been produced by Emacs 20.2 or the earlier
        because they produced a raw 8-bit string for byte-code and now